Unit Test পরিচালনা এবং Build Automation

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) Unit Testing এবং Code Coverage |
241
241

Apache ANT একটি শক্তিশালী বিল্ড টুল যা শুধুমাত্র কোড কম্পাইল এবং প্যাকেজিংয়ের জন্য ব্যবহৃত হয় না, বরং এটি unit testing এবং build automation-এর জন্যও ব্যাপকভাবে ব্যবহৃত হয়। ANT এর সাহায্যে আপনি আপনার প্রজেক্টের বিল্ড প্রক্রিয়ার মধ্যে unit testing অন্তর্ভুক্ত করতে পারেন এবং এটি স্বয়ংক্রিয়ভাবে করতে পারেন।

এই গাইডে আমরা আলোচনা করব কিভাবে ANT ব্যবহার করে unit testing পরিচালনা এবং build automation সেটআপ করা যায়।


1. Unit Test পরিচালনা ANT দিয়ে

Apache ANT দিয়ে unit test পরিচালনা করতে সাধারণত JUnit ব্যবহৃত হয়। JUnit হল একটি জনপ্রিয় unit testing ফ্রেমওয়ার্ক যা Java প্রোগ্রামিং ভাষায় লেখা কোডের জন্য ব্যবহৃত হয়। ANT-এ JUnit টাস্ক ব্যবহার করে আপনি unit tests রান করতে পারেন এবং ফলাফল দেখাতে পারেন।

JUnit টাস্ক ব্যবহার করে Unit Test চালানো

JUnit টাস্কটি ANT এর বিল্ড ফাইলে অন্তর্ভুক্ত করতে হয়, এবং এরপর আপনি JUnit টেস্ট ক্লাসগুলি রান করতে পারেন। এর জন্য JUnit jar ফাইল আপনার classpath-এ অন্তর্ভুক্ত থাকতে হবে।

প্রয়োজনীয় JAR ফাইল

JUnit টাস্ক কাজ করার জন্য JUnit এবং Ant-এর ant-junit লাইব্রেরি প্রয়োজন। JUnit এর jar ফাইল সাধারণত আপনার প্রজেক্টের lib ডিরেক্টরিতে থাকতে হবে অথবা classpath-এ অন্তর্ভুক্ত করা হতে পারে।

ANT বিল্ড ফাইলে Unit Test যুক্ত করা

এখানে একটি উদাহরণ দেখানো হলো যেখানে ANT দিয়ে JUnit টেস্ট রান করা হবে।

build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="JUnitExample" default="test" basedir=".">
    
    <!-- Define classpath for JUnit -->
    <path id="junit.classpath">
        <fileset dir="lib">
            <include name="junit-4.13.2.jar"/>
        </fileset>
    </path>

    <!-- Target to compile Java classes -->
    <target name="compile">
        <mkdir dir="build/classes"/>
        <javac srcdir="src" destdir="build/classes" classpathref="junit.classpath"/>
    </target>

    <!-- Target to run JUnit tests -->
    <target name="test" depends="compile">
        <mkdir dir="build/test-results"/>
        <junit printsummary="yes" haltonfailure="yes">
            <!-- Test classes location -->
            <classpath>
                <path refid="junit.classpath"/>
                <pathelement location="build/classes"/>
            </classpath>
            <!-- Specify the test class -->
            <test name="com.example.TestExample"/>
            <formatter type="plain"/>
        </junit>
    </target>
</project>

বিল্ড ফাইল ব্যাখ্যা:

  1. Classpath Setup:
    • junit.classpath-এ junit-4.13.2.jar যোগ করা হয়েছে।
    • এটি ANT কে JUnit টাস্ক চলানোর জন্য প্রয়োজনীয় লাইব্রেরি সম্পর্কে জানায়।
  2. Compile Target:
    • compile টার্গেট Java ক্লাস কম্পাইল করে build/classes ডিরেক্টরিতে রাখে।
  3. JUnit Test Target:
    • test টার্গেট compile টার্গেটের ওপর নির্ভরশীল, তাই প্রথমে কোড কম্পাইল হবে এবং পরে JUnit টেস্ট চালানো হবে।
    • <junit> ট্যাগটি JUnit টেস্ট চালাতে ব্যবহৃত হয় এবং haltonfailure="yes" দিয়ে যদি কোনো টেস্ট ফেইল হয়, তবে বিল্ডও ফেইল করবে।
    • printsummary="yes" দিয়ে টেস্টের সারাংশ কমান্ড লাইনে প্রিন্ট করা হবে।
  4. Test Class Specification:
    • <test name="com.example.TestExample"/> ট্যাগে টেস্ট ক্লাসের পূর্ণ নাম উল্লেখ করা হয়েছে, যার মধ্যে আপনার unit tests থাকবে।

2. JUnit টেস্ট ক্লাস উদাহরণ

এই বিল্ড ফাইলে ব্যবহার করার জন্য একটি সাধারণ JUnit টেস্ট ক্লাস নিচে দেওয়া হলো:

TestExample.java:

package com.example;

import org.junit.Test;
import static org.junit.Assert.*;

public class TestExample {

    @Test
    public void testAdd() {
        int a = 5;
        int b = 10;
        int sum = a + b;
        assertEquals(15, sum); // Check if sum is 15
    }

    @Test
    public void testSubtract() {
        int a = 10;
        int b = 5;
        int difference = a - b;
        assertEquals(5, difference); // Check if difference is 5
    }
}

এখানে দুটি মৌলিক টেস্ট করা হয়েছে:

  • testAdd(): দুটি সংখ্যার যোগফল পরীক্ষা করছে।
  • testSubtract(): দুটি সংখ্যার বিয়োগফল পরীক্ষা করছে।

3. Build Automation with Unit Test Integration

ANT এর সাহায্যে build automation করার মাধ্যমে আপনি একাধিক টাস্ক একযোগে সম্পন্ন করতে পারবেন, যেমন কোড কম্পাইল করা, টেস্ট রান করা, এবং বিল্ড তৈরি করা।

Automation উদাহরণ

একটি পূর্ণাঙ্গ উদাহরণ যেটিতে unit test এবং বিল্ড অটোমেশন সমন্বিত থাকবে:

build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="FullBuildExample" default="full-build" basedir=".">
    
    <!-- Classpath for JUnit -->
    <path id="junit.classpath">
        <fileset dir="lib">
            <include name="junit-4.13.2.jar"/>
        </fileset>
    </path>

    <!-- Clean target to delete previous build outputs -->
    <target name="clean">
        <delete dir="build"/>
    </target>

    <!-- Compile Java source code -->
    <target name="compile" depends="clean">
        <mkdir dir="build/classes"/>
        <javac srcdir="src" destdir="build/classes" classpathref="junit.classpath"/>
    </target>

    <!-- Run Unit Tests -->
    <target name="test" depends="compile">
        <mkdir dir="build/test-results"/>
        <junit printsummary="yes" haltonfailure="yes">
            <classpath>
                <path refid="junit.classpath"/>
                <pathelement location="build/classes"/>
            </classpath>
            <test name="com.example.TestExample"/>
            <formatter type="plain"/>
        </junit>
    </target>

    <!-- Create JAR file -->
    <target name="create-jar" depends="test">
        <mkdir dir="build/jar"/>
        <jar destfile="build/jar/myproject.jar" basedir="build/classes"/>
    </target>

    <!-- Full build target -->
    <target name="full-build" depends="create-jar">
        <echo message="Build complete!" />
    </target>

</project>

বিল্ড ফাইলের বিস্তারিত:

  1. clean: পূর্বের আউটপুট ফাইলগুলো মুছে ফেলে।
  2. compile: কোড কম্পাইল করে build/classes ডিরেক্টরিতে রাখা হয়।
  3. test: compile টার্গেটের পর টেস্ট রান করা হয়।
  4. create-jar: টেস্ট সফল হলে একটি JAR ফাইল তৈরি করা হয়।
  5. full-build: এটি সমস্ত টার্গেটকে একত্রিত করে পুরো বিল্ড প্রক্রিয়া সম্পন্ন করে।

4. সারাংশ

  • Unit Testing: ANT এর মাধ্যমে JUnit টাস্ক ব্যবহার করে unit testing পরিচালনা করা যায়। JUnit টেস্ট ক্লাস চালানোর জন্য junit টাস্ক এবং taskdef ব্যবহার করা হয়।
  • Build Automation: ANT ব্যবহারে আপনি সহজেই build automation করতে পারেন। কোড কম্পাইল, unit test রান, JAR তৈরি ইত্যাদি সমস্ত কাজ একাধিক টার্গেটের মাধ্যমে অটোমেটিকভাবে করা যেতে পারে।
  • JAR ফাইল তৈরি: Unit test সফল হলে, এটি একটি JAR ফাইল তৈরি করতে পারে, যা প্রজেক্টের পরবর্তী প্রয়োজনে ব্যবহার করা যাবে।

এইভাবে, ANT দিয়ে আপনি একটি পূর্ণাঙ্গ build automation পদ্ধতি তৈরি করতে পারেন, যা আপনার কোডের একাধিক ধাপ সম্পন্ন করতে সক্ষম।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion